const express = require('express');
const app = express();
app.listen(3006, () => console.log('启动了'));

app.use((req, res, next) => {
  console.log(1)
  // next() 不传参，表示把请求交给下一个中间件
  // next(err) 传参了，参数表示错误信息；并且会越过后续的所有中间件，直接进入最后的错误处理中间件
  next('我错了');
});

app.use((req, res, next) => {
  console.log(2)
  next();
});

app.get('/api/test1', (req, res) => {
  res.send('hello world');
});

// 如果中间件函数，给了4个参数，表示错误处理中间件
app.use((err, req, res, next) => {
  console.log(err); // err 就是前面 next 过来的参数
  res.send({ status: 1, message: '身份认证失败！' })
});